1. Field of the Invention
The present invention relates to signal processing and, more specifically but not exclusively, to error-correction encoding and decoding techniques, such as low-density parity-check (LDPC) encoding and decoding.
2. Description of the Related Art
This section introduces aspects that may help facilitate a better understanding of the invention(s). Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is in the prior art or what is not in the prior art.
While processing the output of a channel detector, a low-density parity-check (LDPC) decoder may encounter one or more trapping sets, which prevents the decoder from converging on the correct codeword. A trapping set is a binary vector that represents a sub-graph in a Tanner graph of the corresponding LDPC code and is described by a pair (a, b) of positive integers, where b is the number of unsatisfied checks (USCs) and a is the number of erroneous bit nodes (EBNs) associated with those USCs. It is known that certain trapping sets (often referred to as dominant trapping sets) have a particularly strong influence on the bit-error rate (BER) and error-floor characteristics of the LDPC decoder.
If the output of an LDPC decoder contains a known trapping set, then certain measures can be taken to steer the LDPC decoder away from the trapping set and have it converge on the correct codeword. However, collection, ranking, and evaluation of trapping sets for use in an LDPC decoder are non-trivial and time-consuming tasks. More specifically, for a given LDPC implementation, all possible trapping sets might number in the millions. In addition, the pluralities of dominant trapping sets corresponding to different implementations of the same LDPC code usually differ from one another. For example, research on LDPC-enabled hard drives has shown that trapping sets are influenced by the hard-drive's jitter profile, inter-symbol interference characteristics, and pulse-shaping scheme. Since these attributes can vary not only between hard drives of different manufacturers, but also between different hard drive models from the same manufacturer or even between different production runs of the same model, each hard drive tends to have a unique plurality of dominant trapping sets.